iT邦幫忙

2024 iThome 鐵人賽

DAY 13
1

維度表


維度表(Dimension Table) 是維度建模的另一個核心,儲存了與業務事件相關的敘述型資料,用來提供事實表(Fact Table)中度量值的情境補充。這些敘述型資料為分析提供了分類、篩選和彙總的依據,幫助組織從不同角度進行數據分析和報表生成。

接下來會對維度表做詳細介紹,包括維度表的組成、類型及設計時該注意的事項:

案例-數位學習平台


後面的說明我們一樣會用數位學習平台作為案例輔助:

在數位學習平台上,學生會不定時的收到作業,並且自己可以在任意的時間開始做作業,
開始以後系統會讓學生依序作答每一個題目,直到答對所有題目,就能按下完成作業送出,
系統會自動做批改、計算得分。

維度表的組成


  1. 主鍵(Primary Key):
  • 定義:和關聯式資料庫一樣,是該筆資料的唯一值,事實表中的外部鍵會關聯到維度表的主鍵。
  • 特點:主鍵應該是唯一且非空值
  1. 屬性(Attributes):
  • 定義:屬性會為數據分析提供情境,用於過濾、分組或進行彙總操作。
  • 特點:
    • 屬性可以是不同類型的數據(如文字、數字、日期等),例如產品、地點、時間、銷售人員名稱等。
    • 屬性通常是可讀的類別資料
  1. 多層次屬性:
  • 有一些維度表蠻常將不同粒度層次的屬性放在一起,方便同一筆資料就能取得不同層次的屬性。例如,時間維度可能包括年、季度、月份、日等層次。
  • 特點:
    • 再次強調維度表的設計的大原則是**『去正規化』**。
    • 層次結構使得資料可以按不同粒度進行分群和彙總,支持「從細到粗」或「從粗到細」的資料切片分析。
    • 多層次屬性有助於進行多維度分析,例如同時按照年、月份、地區等進行分析。

https://ithelp.ithome.com.tw/upload/images/20240927/20114297uM2AILgrAf.png

常見的維度表類型


  1. 時間維度表:
  • 定義:時間維度表用來描述與時間相關的屬性,如年、季度、月、日、星期等。
  • 日期是一個最特別的維度表,幾乎所有分析都會涉及時間維度,時間維度表幫助分析某個業務事件在何時發生,能進行趨勢分析、依據不同的時間區間來彙總數據,也可以針對產業的特殊節日做註記
  1. 地理維度表:
  • 定義:地理維度表存儲與地理位置相關的信息,如國家、省份、城市、區域等。
  • 你可以按縣市、地區做分群,甚至經濟條件、氣候等不同資料分類,來幫助分析不同地區的業務表現或客戶行為。
  1. 產品維度表:
  • 定義:產品維度表描述有關產品的信息,如產品名稱、類別、品牌、尺寸、顏色等。
  • 用產品屬性來分析銷售數據、產品使用狀況。
  1. 客戶維度表:
  • 定義:與客戶相關的屬性,如客戶姓名、年齡、性別、職業、地理位置等。
  • 用於分析客戶行為、購買習慣以及按客戶分類的市場細分報告。

https://ithelp.ithome.com.tw/upload/images/20240927/20114297sfvKz6Mqey.png

維度表的設計的注意事項


  1. 簡潔易懂的結構與欄位定義:屬性的定義和結構盡量簡潔,並且有明確的定義與分析意義,能夠為分析提供實際價值
  2. 避免過度正規化: 過度正規化可能會導致分析效率降低,因此維度表應該是**「寬表」**,以扁平化、多層次屬性放在同一張維度表的做法,來減少資料表之間的關聯
  3. 緩慢變化維度(Slowly Changing Dimension,SCD):有些維度隨著時間會發生變化,例如:客戶的地址變更,處理維度表中資料變化的是一個挑戰,不同的情境需要不同的處理策略,你需要考量未來資料的可追溯性,常見的處理策略包括:
  • SCD Type 1:直接覆蓋舊數據,只保留最新的數據。
  • SCD Type 2:為每次變更創建一條新記錄,保留變更歷史。
  • SCD Type 3:在原記錄中保留舊值和新值,用於部分歷史查詢。

SCD 不是數字越大就越好,像是 SCD Type3 ,聰明的你應該會發現,其實很少使用。

https://ithelp.ithome.com.tw/upload/images/20240927/201142975nBUFxuN8d.png

小結


維度表在維度建模中扮演著關鍵角色,為分析提供了分類、篩選和彙總的依據。合理設計維度表,可以幫助團隊更高效地進行資料分析,並確保資料倉儲具有良好的效能和可擴充性。透過簡化設計、清晰的命名、層次結構的應用和處理緩慢變化的技術,能夠為組織打造強大的資料決策引擎!
明天我們就用一個實際的案例,來走過一次從OLTP的資料表,拆解成OLAP的Data Cube!


上一篇
OLAP 維度建模(二):事實表
下一篇
OLAP 維度建模(四):以數位學習平台為案例
系列文
資料決策時代:從零開始打造公司數據引擎與決策文化30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言